1. Field of the Invention
The invention relates to signal correlation, and more particularly to a memory code generator providing a code for signal correlation.
2. Description of the Related Art
In a communications system such as a Global Positioning System (GPS), both a signal transmitter and a signal receiver must comprise a code generator for code provision. Before raw data is transmitted by a signal transmitter, the signal transmitter modulates the raw data according to a code to obtain a modulated signal. The signal transmitter than sends the modulated signal through the air to a signal receiver. After the signal receiver receives the modulated signal, the signal receiver must then demodulate the received signal before the received signal is further processed. The signal receiver correlates the received signal with a code to demodulate the received signal. Thus, both a transmitter and a receiver of a communication system must comprise a code generator for generating a code for signal processing.
In a GPS system, a code can be generated according to a predetermined algorithm. A code generator of a GPS system therefore has a simple structure for code generation. In one embodiment, a code generator of a GPS system comprises a linear feedback shift register generating a code. A Galileo system, however, adopts a pseudo random sequence as a code for signal processing, such as codes for E1-B and E1-C bands of a Galileo system. Because the E1-B band code and the E1-C band code of a Galileo system cannot be directly generated with a shift register, a code generator of a Galileo system must therefore comprise a code memory for storing the code, before the code generator can then retrieve the code from the code memory for signal processing.
When a signal processor of a receiver processes an input signal, a code with a specific phase is required. A code generator therefore must provide a code with a specific code phase as soon as possible. If the code generator can provide a code with a short delay period, signal processing of the signal processor can be accelerated, and performance of the receiver is improved. In addition, when the signal processor processes different segments of the input signal, code segments with different phases are required. The code generator must therefore provide the code segments with phase jumps therebetween. When the code generator provides the signal processor with a current code segment for correlation, the code generator can simultaneously prepare a subsequent code segment in advance. Thus, when the correlation of the current code segment is completed, the subsequent code segment can then be immediately provided to the signal processor without delay, improving system performance. Thus, a memory code generator capable of generating a correlation code with little delay is required.
In addition, when a receiver processes signals corresponding to a plurality of satellites, a code generator of the receiver must provide codes corresponding to the plurality of satellites. The code generator therefore must comprise a code memory storing a plurality of codes corresponding to the satellites. Because the receiver may simultaneously request the codes corresponding to different satellites, the code memory therefore must comprise a mechanism for handling the requests for codes corresponding to different satellites. A code memory capable of providing codes corresponding to a plurality of satellites is therefore required.